<?php
/**
 * Description of DbMaatregel
 * 
 * Dit is de Database klasse van het maatregel gedeelte. Hierin wordt
 * het maatregel gedeelte in de database opgeslagen
 *
 * @author Randy
 * @version 1.0
 * 
 * @category Cofely - Veiligheid & Gezondheids plan sjabloon
 * @uses Database
 * 
 */

//require_once '../defs/constants.php';
require_once FILE_DB_DATABASE;

class DbMaatregel extends Database{

    /**
     * Het id van een risico zodat er gezien kan worden bij welk risico een
     * maatregel hoort.
     * 
     * @var int $risico_id
     */
    private $risico_id = '';
    /**
     * de id van de maatregel
     * @var type 
     */
    private $preventieve_maatregel_id = '';
    /**
     * De preventieve maatregel
     * @var String $preventieve_maatregel
     */
    private $preventieve_maatregel = '';
    
    /**
     * De constructor functie van de database klasse
     * @param int $id 
     */
    public function DbMaatregel($id= ''){
        parent::__construct();
        // If maatregel id get maatregel data
        if (!empty ($id)){
            $this->DbGetMaatregelData($id);
        }
    }

   /**
    * Slaat de maatregel op met zijn versie, naam, beschrijving en risico_id
    * 
    * @param int $sjabloon_versie_id
    * @param String $maatregelnaam
    * @param String $maatregelbeschrijving
    * @param int $risico_id
    * @return boolean 
    */
    public function save ( $sjabloon_versie_id, $maatregelnaam, $maatregelbeschrijving, $risico_id){
        //Het opslaan van de maatregel
        $query = "INSERT INTO `tpl_preventieve_maatregel` (`preventieve_maatregel_naam`, `preventieve_maatregelbeschrijving`) VALUES ('" . $maatregelnaam . "', '" . $maatregelbeschrijving . "')";
        //Als de query niet werkt krijg je een foutmelding en returned hij false
        if(!$this->dbquery($query)){
            
            echo(DB_TPL_ERROR_INSERT_RAG);
            return false;
        
        }
        //vul het laatst ingevulde id in in preventieve_maatregel_id
        $this->preventieve_maatregel_id = mysql_insert_id();
        //Sla de versie van maatregel op
	$query2 = "INSERT INTO `tpl_preventieve_maatregel_versie` (`sjabloon_versie_id`, `preventieve_maatregel_id`, `risico_id`) VALUES ('" . $sjabloon_versie_id . "', '" . $this->preventieve_maatregel_id . "', '" . $risico_id . "')";
        //Als de query mislukt krijg je een foutmelding en wordt False ge-returned        
        if(!$this->dbquery($query2)){
            
            echo(DB_TPL_ERROR_INSERT_RAG);
            return false;
        
        }     
    }
    /**
     * getter van de maatregel_id
     * @return int $preventieve_maatregel_id
     */
    public function getPreventieve_maatregel_id(){
        
        return $this->preventieve_maatregel_id;        
    }
    /**
     * Getter van de preventieve maatregel
     * @return String $preventieve_maatregel
     */
    public function getPreventieve_maatregel(){
        
        return $this->preventieve_maatregel;
    }
    /**
     * Update de maatregel
     * 
     * @param String $nieuweactie
     * @return boolean 
     */
    public function updateMaatregel($nieuweactie){
	
		// check of actie_id bestaat of return false
		if(empty($this->Maatregel_id)) return false;
		// update actie in database

		$query = "UPDATE `maatregel` SET maatregel = '". $nieuweactie . "' WHERE maatregel_id = '" . $this->maatregel_id  . "'";
		mysql_query($query);
                
		return true;
	}
        /**
         * Verwijder de maatregel uit de database
         * @return boolean 
         */
	public function deleteMaatregel(){
	
		// check of actie_id bestaat of return false
		if(empty($this->preventieve_maatregel_id)) return false;
		// update actie in database
		//UPDATE `cofely2`.`actie` SET `actie` = 'nieuwe actie' WHERE `actie`.`actie_id` =32 LIMIT 1 ;
						   
		$query = "DELETE FROM `maatregel` WHERE maatregel_id = '" . $this->maatregel_id  . "'";
		mysql_query($query);
		
		$this->geintificeerde_risico_naam_id = '';
		$this->preventieve_maatregel_id = '';
		$this->preventieve_maatregel = '';
		
		if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
		return true;
		
	}
	
	public function getMaatregelArray(){
		return $this->array_maatregel_id;
	}
    private function DbGetMaatregelData($id){
        
        $query = "SELECT geintificeerde_risico_naam_id, preventieve_maatregel FROM maatregel WHERE preventieve_maatregel_id = '" . $id . "' LIMIT 1 ";
		$result = mysql_query($query);
        $res = mysql_fetch_object($result);
        
        //$this->actieid = $res->actie_id;
        $this->preventieve_maatregel_id = $id;
        $this->geintificeerde_risico_naam_id = $res->geintificeerde_risico_naam_id;
        $this->preventieve_maatregel = $res->preventieve_maatregel;
		
        if (DEBUG_LVL & DEBUG_LVL_QUERY)  echo __FILE__ . ' ' . __LINE__ .': ' .$query . '<br />';
		
		
		//Haal de actie's uit de database die bij deze maatregel horen.
		//query maken
		 $query = mysql_query("SELECT preventieve_maatregel_id, preventieve_maatregel FROM maatregel WHERE geintificeerde_risico_naam_id = '" . $id . "' LIMIT 1 ");
		while ($row = mysql_fetch_array($query) ){
		
			//$this->array_preventieve_maatregel_id[$row['preventieve_maatregel_id'] = $row['preventieve_maatregel']];
		}
    }
    
    public function __destruct() {
        parent::__destruct();
    }
}

class TestDbMaatregel{
    public function TestDbMaatregel(){
        $test = new DbMaatregel(1);
        
        //getters
		echo $test->getPreventieve_maatregel_id() . " Preventieve maaregel id<br />";
		echo $test->getGeintificeerde_risico_naam_id() . " Geintificeerde risico naam<br />";
		echo $test->getPreventieve_maatregel() . " Preventieve maatregel<br />";

        // save
        $test->save('2', 'test2');
		
        		echo $test->getPreventieve_maatregel_id() . " maatregel id<br />";
				
				
				$test2 = new DbMaatregel(8);
				print_r($test2);
				echo $test2->getPreventieve_maatregel_id() . " Preventieve maaregel id<br />";
				echo $test2->getGeintificeerde_risico_naam_id() . " Geintificeerde risico naam<br />";
				echo $test2->getPreventieve_maatregel() . " Preventieve maatregel<br />";
				
				if(!($test->updateMaatregel(" nieuwe tekst "))) echo "Fout in updaten";
				print_r($test);
				
				if(!($test->deleteMaatregel())) echo "Fout in delete";
				print_r($test);
        unset ($test);
		unset ($test2);
		
		
    }
}
?>